Businesses software systems are often built using a collection of software components, sometimes referred to as content. The content is sometimes viewed as falling into two categories, i.e., data (e.g., metadata, master data, catalogues, modeled processes and configurations) and code (e.g., applications, tools, built in processes and user interfaces). Content in the form of data, e.g., master data and configuration, is often useful to configure the collection of software components to perform as desired.
Business software systems often change over time. Such change, sometimes referred to as the evolution of the business software systems, is often in the form of changes in content, e.g., changes in data and/or code.
It is generally desirable to allow changes to the content of a system while minimizing (or at least limiting) the impact of such change on the remaining content of the system.
Systems that assist in the above are sometimes referred to as life cycle management systems.